package interfaz;

import java.io.File;
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.List;
import java.util.Map;

import beans.*;


public interface TDAManejoDatos extends Remote {
	
	public abstract boolean setCliente(BeanCliente dtoCliente) throws RemoteException;
	
	public abstract boolean deleteCliente (BeanCliente beanCliente) throws RemoteException;
	
	public abstract boolean updateCliente (BeanCliente beanCliente) throws RemoteException;
	
	public abstract boolean setProveedor(BeanProveedor beanProveedor) throws RemoteException;
	
	public abstract boolean deleteProveedor (BeanProveedor beanProveedor) throws RemoteException;
	
	public abstract boolean updateProveedor (BeanProveedor beanProveedor) throws RemoteException;

	public abstract boolean setRodamiento(BeanRodamiento beanRodamiento) throws RemoteException;
	
	public abstract boolean deleteRodamiento (BeanRodamiento beanRodamiento) throws RemoteException;
	
	public abstract boolean updateRodamiento (BeanRodamiento beanRodamientoNuevo) throws RemoteException;
	
	public abstract Map<Integer,List<String>> getRodamientosByCriterio (BeanRodamiento beanRodamiento) throws RemoteException;

	public abstract List<BeanMarca> getListaMarcas() throws RemoteException;

	public abstract BeanUsuario loguearUsuario(BeanUsuario beanUsuario) throws RemoteException;

	public abstract BeanCotizacionRodamiento mostrarComparativaPrecios(
			BeanSolicitudCotizacion solicitudCotizacion) throws RemoteException;

	public abstract boolean cargarListaPrecos(BeanProveedor beanProveedor,
			File file)throws RemoteException;;
			
	public abstract List<BeanCliente> getListaClientes() throws RemoteException;

	public abstract List<BeanCliente> buscarClientesCriterios(
			String nombreCliente, String cuitCliente) throws RemoteException;

	public abstract boolean guardarCotizacion(
			BeanCotizacionRodamiento beanCotizacionRodamiento)  throws RemoteException;

	public abstract List<BeanCotizacionRodamiento> levantarCotizaciones(String numeroCuit) throws RemoteException;

	public abstract boolean generarFactura(
			BeanCotizacionRodamiento beanCotizacionRodamiento) throws RemoteException;

	public abstract BeanProveedor buscarProveedor(String cuit) throws RemoteException;
	
	//public abstract boolean setProveedor(DTOProveedor dtoProveedor);
	
}
